The protection of digital content transferred between computers over a network is fundamentally important for many enterprises today. Enterprises attempt to secure this protection by implementing some form of Digital Rights Management (DRM) process. The DRM process often involves encrypting the piece of content (e.g., encrypting the binary form of the content) to restrict usage to those who have been granted a right to the content.
Cryptography is the traditional method of protecting data in transit across a network. In its typical application, cryptography protects communications between two mutually trusting parties from thievery by attack on the data in transit. However, for many digital file transfer applications today (e.g., for the transfer of audio or video content), the paradigm has shifted, as a party that receives the content (i.e. the “receiving party”) might try to break the DRM encryption that the party that supplied the content (i.e., the “distributing party”) applied to the content. In addition, with the proliferation of network penetration attacks, a third party may obtain access to the receiving party's computer and thus to the protected content.
In many of the DRM systems today, the weakest link in the security is not the encrypted data but rather the cryptographic key management and handling. For instance, one of the more successful DRM systems, which distribute music online, requires the receiving party's computer to maintain the unencrypted key for each piece of encrypted music in a “Keybag” that is encrypted.
This approach has two disadvantages. First, by encrypting the Keybag instead of the keys contained in the Keybag, this approach exposes the keys to a potential attack at different instances in time. For instance, each time the receiving party's computer has to store a new key for a piece of content, the computer has to decrypt the entire Keybag, add the new key to the Keybag, and then re-encrypt the Keybag. Similarly, to play a piece of content, the receiving party's computer has to decrypt the entire Keybag, retrieve the key for the piece of content, and decrypt the content with the retrieved key. In either of these situations, all the keys are exposed to a potential attacker when the Keybag is decrypted.
Second, this prior DRM approach allows different devices to use different formats for their Keybags. For instance, it allows a receiving party's computer to use a different Keybag format than a music player to which the computer downloads its music. The use of different Keybag formats for different devices further exposes the keys for decrypting the content that is transferred between the devices. For instance, when the receiving party synchronizes the music player's music library with that of the computer, the computer has to decrypt its Keybag and transfer the synchronized content and its associated keys to the music player. The music player then stores the received content in a storage device, and stores the received keys in the player's particular format in the player's Keybag. During this transfer, all the keys are exposed to a potential attacker.
Therefore, there is a need in the art for a DRM system that minimizes the exposure of cryptographic keys at various stages of the DRM process. Such a system should minimize exposure during the local storage of the cryptographic keys on the devices that will use such keys to decrypt and access content. This system should also minimize exposure of the cryptographic key while the encrypted content is being access by a receiving device. This system should further minimize exposure of the cryptographic keys while the receiving party is transferring content between two devices.